package com.jrx.anytxn.investor.entity;

import java.math.BigDecimal;
import java.util.Date;

/**
 *  
 * 表:am_account_main_investor_info 
 * @author Administrator 
 * @date 2020-05-25 
 */
public class AmAccountMainInvestorInfo {
    /**
     * 自增主键
     * 表字段:id
     */
    private Long id;

    /**
     * 租户ID
     * 表字段:tenant_id
     */
    private String tenantId;

    /**
     * 账户id
     * 表字段:account_id
     */
    private String accountId;

    /**
     * 机构号
     * 表字段:organization_id
     */
    private String organizationId;

    /**
     * 账户状态 0 = 新建; 1 = 正常; 2 = 逾期; 7 = 提前结清; 8 = 正常结清; 9 = 取消;
     * 表字段:account_status
     */
    private String accountStatus;

    /**
     * 产品id
     * 表字段:product_id
     */
    private String productId;

    /**
     * 账户类型 03 = 费用交易账户 ; 04 = 利息交易账户 ; 06 = 分期/贷款扣账明细账户; 11=罚息交易账户; 12=复利交易账户; 17 = 贴息交易账户;
     * 表字段:account_type
     */
    private String accountType;

    /**
     * 交易码
     * 表字段:txn_code
     */
    private String txnCode;

    /**
     * 客户id
     * 表字段:customer_id
     */
    private String customerId;

    /**
     * 出资方贷款id
     * 表字段:investor_loan_id
     */
    private String investorLoanId;

    /**
     * 客户订单id
     * 表字段:loan_id
     */
    private String loanId;

    /**
     * 出资方ID
     * 表字段:investor_id
     */
    private String investorId;

    /**
     * 第几期
     * 表字段:billing_tenor
     */
    private Integer billingTenor;

    /**
     * 入账金额
     * 表字段:posting_amount
     */
    private BigDecimal postingAmount;

    /**
     * 已还金额
     * 表字段:repay_amount
     */
    private BigDecimal repayAmount;

    /**
     * 贷调金额 调整金额(免除金额)
     * 表字段:credit_adjust_amount
     */
    private BigDecimal creditAdjustAmount;

    /**
     * 余额
     * 表字段:curr_balance
     */
    private BigDecimal currBalance;

    /**
     * 入账日期 生成账户的交易日期
     * 表字段:posting_date
     */
    private Date postingDate;

    /**
     * 上次还款时间  还款时的交易时间
     * 表字段:last_payment_time
     */
    private Date lastPaymentTime;

    /**
     * 年利率
     * 表字段:interest_rate
     */
    private BigDecimal interestRate;

    /**
     * 执行日利率
     * 表字段:actual_daily_rate
     */
    private BigDecimal actualDailyRate;

    /**
     * 交易起息日
     * 表字段:interest_start_date
     */
    private Date interestStartDate;

    /**
     * 到期还款日
     * 表字段:payment_due_date
     */
    private Date paymentDueDate;

    /**
     * 利息参数表id
     * 表字段:investor_interest_table_id
     */
    private String investorInterestTableId;

    /**
     * 罚息参数表id
     * 表字段:investor_penalty_table_id
     */
    private String investorPenaltyTableId;

    /**
     * 费用参数表id
     * 表字段:investor_fee_table_id
     */
    private String investorFeeTableId;

    /**
     * 资金源id
     * 表字段:fund_id
     */
    private String fundId;

    /**
     * 合作方id
     * 表字段:partner_id
     */
    private String partnerId;

    /**
     * 停息标志
     * 表字段:waive_interest_flag
     */
    private String waiveInterestFlag;

    /**
     * 停费标志
     * 表字段:waive_fee_flag
     */
    private String waiveFeeFlag;

    /**
     * 核销标志
     * 表字段:chargeoff_flag
     */
    private String chargeoffFlag;

    /**
     * 核销金额
     * 表字段:chargeoff_amount
     */
    private BigDecimal chargeoffAmount;

    /**
     * 核销日期
     * 表字段:chargeoff_date
     */
    private Date chargeoffDate;

    /**
     * 核销原因码
     * 表字段:chargeoff_reason_code
     */
    private String chargeoffReasonCode;

    /**
     * 代偿标志
     * 表字段:compensatory_flag
     */
    private String compensatoryFlag;

    /**
     * 代偿天数
     * 表字段:compensatory_days
     */
    private Integer compensatoryDays;

    /**
     * 总期数
     * 表字段:total_tenor
     */
    private Integer totalTenor;

    /**
     * 总天数 贷款期限总天数
     * 表字段:total_days
     */
    private Integer totalDays;

    /**
     * 会计状态 0 = 正常; 1 = 逾期; 2 = 呆滞; 3 = 呆账;
     * 表字段:accounting_phase
     */
    private String accountingPhase;

    /**
     * 非应计状态 0 = 应计; 1 = 非应计;
     * 表字段:non_accruals_flag
     */
    private String nonAccrualsFlag;

    /**
     * 五级分类 0 = 正常; 1 = 关注; 2 = 次级; 3 = 可疑; 4 = 损失;
     * 表字段:loan_classify
     */
    private String loanClassify;

    /**
     * 原始账户id
     * 表字段:original_account_id
     */
    private String originalAccountId;

    /**
     * 税金
     * 表字段:tax_amt
     */
    private BigDecimal taxAmt;

    /**
     * 债务归属 00-- 客户，01-- 商户 02-- 平台 03-- 资金方  04-- 渠道
     * 表字段:liability_flag
     */
    private String liabilityFlag;

    /**
     * 渠道id
     * 表字段:channel
     */
    private String channel;

    /**
     * 创建时间
     * 表字段:create_time
     */
    private Date createTime;

    /**
     * 最后更新时间
     * 表字段:update_time
     */
    private Date updateTime;

    /**
     * 最后更新操作员
     * 表字段:update_by
     */
    private String updateBy;

    /**
     * 记录版本号
     * 表字段:record_version_number
     */
    private Integer recordVersionNumber;

    /**
     * 获取自增主键
     * @return id Long
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置自增主键
     * @param id 自增主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取租户ID
     * @return tenantId String
     */
    public String getTenantId() {
        return tenantId;
    }

    /**
     * 设置租户ID
     * @param tenantId 租户ID
     */
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    /**
     * 获取账户id
     * @return accountId String
     */
    public String getAccountId() {
        return accountId;
    }

    /**
     * 设置账户id
     * @param accountId 账户id
     */
    public void setAccountId(String accountId) {
        this.accountId = accountId;
    }

    /**
     * 获取机构号
     * @return organizationId String
     */
    public String getOrganizationId() {
        return organizationId;
    }

    /**
     * 设置机构号
     * @param organizationId 机构号
     */
    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    /**
     * 获取账户状态 0 = 新建; 1 = 正常; 2 = 逾期; 7 = 提前结清; 8 = 正常结清; 9 = 取消;
     * @return accountStatus String
     */
    public String getAccountStatus() {
        return accountStatus;
    }

    /**
     * 设置账户状态 0 = 新建; 1 = 正常; 2 = 逾期; 7 = 提前结清; 8 = 正常结清; 9 = 取消;
     * @param accountStatus 账户状态 0 = 新建; 1 = 正常; 2 = 逾期; 7 = 提前结清; 8 = 正常结清; 9 = 取消;
     */
    public void setAccountStatus(String accountStatus) {
        this.accountStatus = accountStatus;
    }

    /**
     * 获取产品id
     * @return productId String
     */
    public String getProductId() {
        return productId;
    }

    /**
     * 设置产品id
     * @param productId 产品id
     */
    public void setProductId(String productId) {
        this.productId = productId;
    }

    /**
     * 获取账户类型 03 = 费用交易账户 ; 04 = 利息交易账户 ; 06 = 分期/贷款扣账明细账户; 11=罚息交易账户; 12=复利交易账户; 17 = 贴息交易账户;
     * @return accountType String
     */
    public String getAccountType() {
        return accountType;
    }

    /**
     * 设置账户类型 03 = 费用交易账户 ; 04 = 利息交易账户 ; 06 = 分期/贷款扣账明细账户; 11=罚息交易账户; 12=复利交易账户; 17 = 贴息交易账户;
     * @param accountType 账户类型 03 = 费用交易账户 ; 04 = 利息交易账户 ; 06 = 分期/贷款扣账明细账户; 11=罚息交易账户; 12=复利交易账户; 17 = 贴息交易账户;
     */
    public void setAccountType(String accountType) {
        this.accountType = accountType;
    }

    /**
     * 获取交易码
     * @return txnCode String
     */
    public String getTxnCode() {
        return txnCode;
    }

    /**
     * 设置交易码
     * @param txnCode 交易码
     */
    public void setTxnCode(String txnCode) {
        this.txnCode = txnCode;
    }

    /**
     * 获取客户id
     * @return customerId String
     */
    public String getCustomerId() {
        return customerId;
    }

    /**
     * 设置客户id
     * @param customerId 客户id
     */
    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    /**
     * 获取出资方贷款id
     * @return investorLoanId String
     */
    public String getInvestorLoanId() {
        return investorLoanId;
    }

    /**
     * 设置出资方贷款id
     * @param investorLoanId 出资方贷款id
     */
    public void setInvestorLoanId(String investorLoanId) {
        this.investorLoanId = investorLoanId;
    }

    /**
     * 获取客户订单id
     * @return loanId String
     */
    public String getLoanId() {
        return loanId;
    }

    /**
     * 设置客户订单id
     * @param loanId 客户订单id
     */
    public void setLoanId(String loanId) {
        this.loanId = loanId;
    }

    /**
     * 获取出资方ID
     * @return investorId String
     */
    public String getInvestorId() {
        return investorId;
    }

    /**
     * 设置出资方ID
     * @param investorId 出资方ID
     */
    public void setInvestorId(String investorId) {
        this.investorId = investorId;
    }

    /**
     * 获取第几期
     * @return billingTenor Integer
     */
    public Integer getBillingTenor() {
        return billingTenor;
    }

    /**
     * 设置第几期
     * @param billingTenor 第几期
     */
    public void setBillingTenor(Integer billingTenor) {
        this.billingTenor = billingTenor;
    }

    /**
     * 获取入账金额
     * @return postingAmount BigDecimal
     */
    public BigDecimal getPostingAmount() {
        return postingAmount;
    }

    /**
     * 设置入账金额
     * @param postingAmount 入账金额
     */
    public void setPostingAmount(BigDecimal postingAmount) {
        this.postingAmount = postingAmount;
    }

    /**
     * 获取已还金额
     * @return repayAmount BigDecimal
     */
    public BigDecimal getRepayAmount() {
        return repayAmount;
    }

    /**
     * 设置已还金额
     * @param repayAmount 已还金额
     */
    public void setRepayAmount(BigDecimal repayAmount) {
        this.repayAmount = repayAmount;
    }

    /**
     * 获取贷调金额 调整金额(免除金额)
     * @return creditAdjustAmount BigDecimal
     */
    public BigDecimal getCreditAdjustAmount() {
        return creditAdjustAmount;
    }

    /**
     * 设置贷调金额 调整金额(免除金额)
     * @param creditAdjustAmount 贷调金额 调整金额(免除金额)
     */
    public void setCreditAdjustAmount(BigDecimal creditAdjustAmount) {
        this.creditAdjustAmount = creditAdjustAmount;
    }

    /**
     * 获取余额
     * @return currBalance BigDecimal
     */
    public BigDecimal getCurrBalance() {
        return currBalance;
    }

    /**
     * 设置余额
     * @param currBalance 余额
     */
    public void setCurrBalance(BigDecimal currBalance) {
        this.currBalance = currBalance;
    }

    /**
     * 获取入账日期 生成账户的交易日期
     * @return postingDate Date
     */
    public Date getPostingDate() {
        return postingDate;
    }

    /**
     * 设置入账日期 生成账户的交易日期
     * @param postingDate 入账日期 生成账户的交易日期
     */
    public void setPostingDate(Date postingDate) {
        this.postingDate = postingDate;
    }

    /**
     * 获取上次还款时间  还款时的交易时间
     * @return lastPaymentTime Date
     */
    public Date getLastPaymentTime() {
        return lastPaymentTime;
    }

    /**
     * 设置上次还款时间  还款时的交易时间
     * @param lastPaymentTime 上次还款时间  还款时的交易时间
     */
    public void setLastPaymentTime(Date lastPaymentTime) {
        this.lastPaymentTime = lastPaymentTime;
    }

    /**
     * 获取年利率
     * @return interestRate BigDecimal
     */
    public BigDecimal getInterestRate() {
        return interestRate;
    }

    /**
     * 设置年利率
     * @param interestRate 年利率
     */
    public void setInterestRate(BigDecimal interestRate) {
        this.interestRate = interestRate;
    }

    /**
     * 获取执行日利率
     * @return actualDailyRate BigDecimal
     */
    public BigDecimal getActualDailyRate() {
        return actualDailyRate;
    }

    /**
     * 设置执行日利率
     * @param actualDailyRate 执行日利率
     */
    public void setActualDailyRate(BigDecimal actualDailyRate) {
        this.actualDailyRate = actualDailyRate;
    }

    /**
     * 获取交易起息日
     * @return interestStartDate Date
     */
    public Date getInterestStartDate() {
        return interestStartDate;
    }

    /**
     * 设置交易起息日
     * @param interestStartDate 交易起息日
     */
    public void setInterestStartDate(Date interestStartDate) {
        this.interestStartDate = interestStartDate;
    }

    /**
     * 获取到期还款日
     * @return paymentDueDate Date
     */
    public Date getPaymentDueDate() {
        return paymentDueDate;
    }

    /**
     * 设置到期还款日
     * @param paymentDueDate 到期还款日
     */
    public void setPaymentDueDate(Date paymentDueDate) {
        this.paymentDueDate = paymentDueDate;
    }

    /**
     * 获取利息参数表id
     * @return investorInterestTableId String
     */
    public String getInvestorInterestTableId() {
        return investorInterestTableId;
    }

    /**
     * 设置利息参数表id
     * @param investorInterestTableId 利息参数表id
     */
    public void setInvestorInterestTableId(String investorInterestTableId) {
        this.investorInterestTableId = investorInterestTableId;
    }

    /**
     * 获取罚息参数表id
     * @return investorPenaltyTableId String
     */
    public String getInvestorPenaltyTableId() {
        return investorPenaltyTableId;
    }

    /**
     * 设置罚息参数表id
     * @param investorPenaltyTableId 罚息参数表id
     */
    public void setInvestorPenaltyTableId(String investorPenaltyTableId) {
        this.investorPenaltyTableId = investorPenaltyTableId;
    }

    /**
     * 获取费用参数表id
     * @return investorFeeTableId String
     */
    public String getInvestorFeeTableId() {
        return investorFeeTableId;
    }

    /**
     * 设置费用参数表id
     * @param investorFeeTableId 费用参数表id
     */
    public void setInvestorFeeTableId(String investorFeeTableId) {
        this.investorFeeTableId = investorFeeTableId;
    }

    /**
     * 获取资金源id
     * @return fundId String
     */
    public String getFundId() {
        return fundId;
    }

    /**
     * 设置资金源id
     * @param fundId 资金源id
     */
    public void setFundId(String fundId) {
        this.fundId = fundId;
    }

    /**
     * 获取合作方id
     * @return partnerId String
     */
    public String getPartnerId() {
        return partnerId;
    }

    /**
     * 设置合作方id
     * @param partnerId 合作方id
     */
    public void setPartnerId(String partnerId) {
        this.partnerId = partnerId;
    }

    /**
     * 获取停息标志
     * @return waiveInterestFlag String
     */
    public String getWaiveInterestFlag() {
        return waiveInterestFlag;
    }

    /**
     * 设置停息标志
     * @param waiveInterestFlag 停息标志
     */
    public void setWaiveInterestFlag(String waiveInterestFlag) {
        this.waiveInterestFlag = waiveInterestFlag;
    }

    /**
     * 获取停费标志
     * @return waiveFeeFlag String
     */
    public String getWaiveFeeFlag() {
        return waiveFeeFlag;
    }

    /**
     * 设置停费标志
     * @param waiveFeeFlag 停费标志
     */
    public void setWaiveFeeFlag(String waiveFeeFlag) {
        this.waiveFeeFlag = waiveFeeFlag;
    }

    /**
     * 获取核销标志
     * @return chargeoffFlag String
     */
    public String getChargeoffFlag() {
        return chargeoffFlag;
    }

    /**
     * 设置核销标志
     * @param chargeoffFlag 核销标志
     */
    public void setChargeoffFlag(String chargeoffFlag) {
        this.chargeoffFlag = chargeoffFlag;
    }

    /**
     * 获取核销金额
     * @return chargeoffAmount BigDecimal
     */
    public BigDecimal getChargeoffAmount() {
        return chargeoffAmount;
    }

    /**
     * 设置核销金额
     * @param chargeoffAmount 核销金额
     */
    public void setChargeoffAmount(BigDecimal chargeoffAmount) {
        this.chargeoffAmount = chargeoffAmount;
    }

    /**
     * 获取核销日期
     * @return chargeoffDate Date
     */
    public Date getChargeoffDate() {
        return chargeoffDate;
    }

    /**
     * 设置核销日期
     * @param chargeoffDate 核销日期
     */
    public void setChargeoffDate(Date chargeoffDate) {
        this.chargeoffDate = chargeoffDate;
    }

    /**
     * 获取核销原因码
     * @return chargeoffReasonCode String
     */
    public String getChargeoffReasonCode() {
        return chargeoffReasonCode;
    }

    /**
     * 设置核销原因码
     * @param chargeoffReasonCode 核销原因码
     */
    public void setChargeoffReasonCode(String chargeoffReasonCode) {
        this.chargeoffReasonCode = chargeoffReasonCode;
    }

    /**
     * 获取代偿标志
     * @return compensatoryFlag String
     */
    public String getCompensatoryFlag() {
        return compensatoryFlag;
    }

    /**
     * 设置代偿标志
     * @param compensatoryFlag 代偿标志
     */
    public void setCompensatoryFlag(String compensatoryFlag) {
        this.compensatoryFlag = compensatoryFlag;
    }

    /**
     * 获取代偿天数
     * @return compensatoryDays Integer
     */
    public Integer getCompensatoryDays() {
        return compensatoryDays;
    }

    /**
     * 设置代偿天数
     * @param compensatoryDays 代偿天数
     */
    public void setCompensatoryDays(Integer compensatoryDays) {
        this.compensatoryDays = compensatoryDays;
    }

    /**
     * 获取总期数
     * @return totalTenor Integer
     */
    public Integer getTotalTenor() {
        return totalTenor;
    }

    /**
     * 设置总期数
     * @param totalTenor 总期数
     */
    public void setTotalTenor(Integer totalTenor) {
        this.totalTenor = totalTenor;
    }

    /**
     * 获取总天数 贷款期限总天数
     * @return totalDays Integer
     */
    public Integer getTotalDays() {
        return totalDays;
    }

    /**
     * 设置总天数 贷款期限总天数
     * @param totalDays 总天数 贷款期限总天数
     */
    public void setTotalDays(Integer totalDays) {
        this.totalDays = totalDays;
    }

    /**
     * 获取会计状态 0 = 正常; 1 = 逾期; 2 = 呆滞; 3 = 呆账;
     * @return accountingPhase String
     */
    public String getAccountingPhase() {
        return accountingPhase;
    }

    /**
     * 设置会计状态 0 = 正常; 1 = 逾期; 2 = 呆滞; 3 = 呆账;
     * @param accountingPhase 会计状态 0 = 正常; 1 = 逾期; 2 = 呆滞; 3 = 呆账;
     */
    public void setAccountingPhase(String accountingPhase) {
        this.accountingPhase = accountingPhase;
    }

    /**
     * 获取非应计状态 0 = 应计; 1 = 非应计;
     * @return nonAccrualsFlag String
     */
    public String getNonAccrualsFlag() {
        return nonAccrualsFlag;
    }

    /**
     * 设置非应计状态 0 = 应计; 1 = 非应计;
     * @param nonAccrualsFlag 非应计状态 0 = 应计; 1 = 非应计;
     */
    public void setNonAccrualsFlag(String nonAccrualsFlag) {
        this.nonAccrualsFlag = nonAccrualsFlag;
    }

    /**
     * 获取五级分类 0 = 正常; 1 = 关注; 2 = 次级; 3 = 可疑; 4 = 损失;
     * @return loanClassify String
     */
    public String getLoanClassify() {
        return loanClassify;
    }

    /**
     * 设置五级分类 0 = 正常; 1 = 关注; 2 = 次级; 3 = 可疑; 4 = 损失;
     * @param loanClassify 五级分类 0 = 正常; 1 = 关注; 2 = 次级; 3 = 可疑; 4 = 损失;
     */
    public void setLoanClassify(String loanClassify) {
        this.loanClassify = loanClassify;
    }

    /**
     * 获取原始账户id
     * @return originalAccountId String
     */
    public String getOriginalAccountId() {
        return originalAccountId;
    }

    /**
     * 设置原始账户id
     * @param originalAccountId 原始账户id
     */
    public void setOriginalAccountId(String originalAccountId) {
        this.originalAccountId = originalAccountId;
    }

    /**
     * 获取税金
     * @return taxAmt BigDecimal
     */
    public BigDecimal getTaxAmt() {
        return taxAmt;
    }

    /**
     * 设置税金
     * @param taxAmt 税金
     */
    public void setTaxAmt(BigDecimal taxAmt) {
        this.taxAmt = taxAmt;
    }

    /**
     * 获取债务归属 00-- 客户，01-- 商户 02-- 平台 03-- 资金方  04-- 渠道
     * @return liabilityFlag String
     */
    public String getLiabilityFlag() {
        return liabilityFlag;
    }

    /**
     * 设置债务归属 00-- 客户，01-- 商户 02-- 平台 03-- 资金方  04-- 渠道
     * @param liabilityFlag 债务归属 00-- 客户，01-- 商户 02-- 平台 03-- 资金方  04-- 渠道
     */
    public void setLiabilityFlag(String liabilityFlag) {
        this.liabilityFlag = liabilityFlag;
    }

    /**
     * 获取渠道id
     * @return channel String
     */
    public String getChannel() {
        return channel;
    }

    /**
     * 设置渠道id
     * @param channel 渠道id
     */
    public void setChannel(String channel) {
        this.channel = channel;
    }

    /**
     * 获取创建时间
     * @return createTime Date
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取最后更新时间
     * @return updateTime Date
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置最后更新时间
     * @param updateTime 最后更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取最后更新操作员
     * @return updateBy String
     */
    public String getUpdateBy() {
        return updateBy;
    }

    /**
     * 设置最后更新操作员
     * @param updateBy 最后更新操作员
     */
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 获取记录版本号
     * @return recordVersionNumber Integer
     */
    public Integer getRecordVersionNumber() {
        return recordVersionNumber;
    }

    /**
     * 设置记录版本号
     * @param recordVersionNumber 记录版本号
     */
    public void setRecordVersionNumber(Integer recordVersionNumber) {
        this.recordVersionNumber = recordVersionNumber;
    }
}